是的,我本科毕业了。本来应该上个月毕业,但是由于大四的选修课出分太晚,导致拿到毕业证的时间和其他人比晚了一个月,一直拖到了现在。
最终还是结束了大学四年的时光。多么神圣的时光,绝无仅有、不可复得、无数人工作数年后仍在怀念。四年的时间里认识了很多优秀的同学,尤其感谢计算机与通信工程学院的 806 本科生科创实验室给了我极好的环境和平台,从大二开始基本上课余时间都待在这里,可能比在宿舍的时间还长!
真的很快啊,本来大家还聚在一起吃饭吹水,谈论课业感受、实习经历,随之而来的毕设答辩和毕业典礼之后,一切都改变了,大家不得不转头向前,面对属于自己的人生课题。
在月之暗面实习到现在已经有五个月整了,最近 Kimi K2 模型开源引起了不小的轰动,Nature 将其称为「Another DeepSeek Moment」,LMArena、SWEBench 等头部 Benchmark 纷纷夸赞 Kimi K2 的优异表现,Kimi K2 在 OpenRouter 上使用量超越同期老马发布的 Grok 4… 作为主要参与开发工作的实习生,我为 Kimi K2 只提供了小到不能再小的微薄之力,能待在...
我在大学给自己定的一个目标是在毕业前能够让 AstrBot 超过 1k Stars,没想到在今年的短短一个月内就超期完成了目标——截至到这篇博客发表前已经接近 5.7k Stars。
而一切都源于我在今年一月底——赶在除夕前发了一个对这个项目的宣传视频。我以前从没有公开地对这个项目宣传过,看到同类项目的宣传视频后,打算趁着 DeepSeek 的热度顺手投一个视频。当然了,和那些恶意蹭热度的营销号不一样,这个项目我确实花了太多的精力去维护,并且视频也从早剪到晚……甚至担心视频过火,在发表这个视频的第二天我就把 DeepSeek 关键词从视频标题给删掉了。
效果很好,前一天晚上十一点多发的视频,第二天早上起来一看已经有一千多个播放了。因为以前也有相关发视频的经验,我意识到这个视频肯定会破 5w 播放。
视频发表后的前五天是我维护这个项目以来最忙的五天,平均每天都有两百个人入群,我们需要不停地解答他们的部署问题,从早到晚都在回信息修 Bug。在这里特别感谢 @灯灯喵、@Adios 等同学一起帮着进行了答疑 ❤。当然了,在这里也感谢所有为 AstrBot 提交 PR、Issue、编写...
一些碎碎念
我维护 AstrBot 这个项目到现在已经有两年多的时间了。从 2022 年 12 月底 ChatGPT 问世以来,这个项目便在不断更迭,途中也收获了不少的用户和他们的支持。这是我目前为止花费时间和精力最多的一个项目,包括设计整个架构项目、维护项目等等。然而,我却没有将这些思考过程以文章的形式写下来。
在这个项目正式被遗忘在时间的洪流之前,我觉得非常有必要写几篇文章来好好梳理一下它,来让更多人知道它背后的故事(聊聊它是怎么从一个几十行的代码膨胀到现在将近一万六千行代码的x)。毕竟真正去看源代码、看 commit log 的人应该没有多少吧。
@z2z63 的一句话很好:“源代码是设计的编译产物,通过读源代码去理解设计就好比反汇编”。接触了这么多语言和项目,我越来越体会到架构设计的重要性。好的架构设计将导致一致的系统实现,更好的可维护性和可扩展性。而坏的设计会导致不良的代码,系统实现没有弹性,不能适应变化,模块间匹配得不好,重复的代码和工作在不同模块中随处可见。这招致在它上面叠加更多坏的设计(实际上就是它在迫使你这样做)。并且当想对代码进行单元测试的时候,发现由于高耦...
洋洋洒洒又一篇,忙忙碌碌又一年。
狐狸与刺猬
我把这一节放在开头,因为它代表了我 2024 年最为深刻的收获之一。
我很早就发现自己是一个对很多不同领域都同时感兴趣的人了,甚至这种兴趣有时显得“过于广泛”。就拿计算机来说,我能同时对数据库、生成式人工智能、软件工程、游戏开发、虚拟现实、增强现实、混合现实、硬件、无线电感兴趣。而除此之外,天文学、物理学、音乐、经济学、哲学、国际关系、绘画、视频后期、摄影等各式各样的学科也在我的兴趣范围内。如此众多的兴趣,却常常让我不得不压抑自己对于探索新领域的渴望,因为社会似乎普遍把“成功”与“专注”或“深耕”挂钩,他们认为,只有深耕某一领域,才能有所成就。高中时笔记本页脚看到的那句 “门门精通,样样稀松” 的名言,时不时也会像警钟一样警醒着我:一旦你选择了多个方向,便难免成为“泛而不精”的代名词,甚至被贴上“失败者”的标签。
我曾有一段时间看见那些看似专注于计算机领域,实际上却也在跨界涉猎多个不相干的领域的人,让我感到自己并非孤单。但遗憾的是,从更广阔的环境来看,这样的人还是少。
今年为准备保研而找导师的时候,这个问题更是赤裸裸地显露了出来...
引言
在十月中旬,我们参加了由 OceanBase 举办的为期半个多月的数据库内核实现赛,我们花了大量的时间实现赛题要求——日均 8 小时。不得不说,这是一个非常能让人 “上瘾” 的比赛 orz。有时候,在熟悉代码、debug 的时候,不知不觉 2 个小时就过去了。在和队友(@Nelson, @z2z63)的努力下,我们最终在 2024.11.09 初赛拿了满分,位列全国第 19/1212 名,北京市第 2 名,全校第 1 名。
这篇文章是我在比赛中的开发记录,由于是边思考边写出来的,未经过后期处理,可能有一些地方表述不清晰。迫于时间和个人对 C++ 的掌握程度有限,有些实现方法会比较抽象,请见谅。
队友的请参阅:
Nelson:OceanBase 2024
z2z63:OceanBase 数据库大赛初赛结束之后
数据库的基本思想
一个数据库可以是这样:
12345678my_db = open("mydb.txt", "a", encoding="utf-8")def insert(query): data_...
简介
TickStats 是孵化自 @idoknow 的一个开源(即将)项目,当前主要由我全程参与设计和功能开发。它旨在提供一个轻量化、易用的指标收集与指标可视化的一体化解决方案。相比于 prometheus、grafana 这些服务,TickStats 更加轻量化,能够做到开箱即用,适用于中小型项目等场景。
Demo: https://tickstats.soulter.top
Soulter’s TickStats Stat: https://tickstats.soulter.top/app/66049a53
缘起
可观测性对于开发者来说非常重要。开发者需要知道项目的运行状态、性能指标、用户使用数据等信息,以便及时发现问题并进行优化。一般来说,首选的解决方案是使用 prometheus 作为指标收集工具,grafana 作为指标可视化工具。但是,这两个工具的配置和使用都比较复杂,对于一些小型项目来说,可能会显得有些“大材小用”,并且这些服务的运行也会产生服务器开销。
此外,我们注意到很多的项目都开发了自己的指标收集系统,这些系统的功能都是类似的,但是都是独立开发的,没有...
9 月 29 日早上,一条短信发来:
「XX大学通过推免系统给您发送了待录取通知」
点下“接受”按钮,全国无数的保研人给这 5 个月的保研准备画上了圆满的句号。
回首这五个月,我过的其实并不是那么顺利。
心路历程
从今年 4 月开始,我就开始在各大心仪高校官网上翻阅,期望寻找到一个感兴趣方向的导师。很多老师都很友善,及时给了回信,留了微信。特别是复旦大学的老师的回信中写道我的能力很出色,心里暗自窃喜。
然而,我的“BG”(背景)当时是有很大缺陷的——虽然排名靠前(前5%),但是没有通过六级。
很快,就到了夏令营,投了十几所心仪的高校,也仅仅只有寥寥一两所入营。最后由于各种原因,入营机会也被我放弃了。记得之前看到的知乎一篇经验贴中博主被高校十几杀之后还笑了出来,没想到反应过来时自己已是画中人。
这期间我还在中国科学院自动化研究所实习,老师们都很好,给我安慰。
痛定思痛,哪里不行补哪里。我开始认真准备接下来的六级、雅思。由于放暑假,我成了空旷且凉爽的逸夫楼的常客。每天除了实习和维护项目就是学雅思。说实话,雅思没有想象中那么难。
也许是受他人影响,记得很清楚,在 8 月 22 日,...